package com.ruoyix.ai.domain.vo;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.ruoyix.common.annotation.ExcelDictFormat;
import com.ruoyix.common.convert.ExcelDictConvert;
import lombok.Data;
import java.util.Date;

import java.io.Serializable;

/**
 * AI 聊天会话视图对象 ai_chat_conversation
 *
 * @author ruoyi
 * @date 2024-09-21
 */
@Data
@ExcelIgnoreUnannotated
public class AiChatConversationVo implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 对话编号
     */
    @ExcelProperty(value = "对话编号")
    private Long id;

    /**
     * 用户编号
     */
    @ExcelProperty(value = "用户编号")
    private Long userId;

    /**
     * 聊天角色
     */
    @ExcelProperty(value = "聊天角色")
    private Long roleId;

    /**
     * 对话标题
     */
    @ExcelProperty(value = "对话标题")
    private String title;

    /**
     * 模型编号
     */
    @ExcelProperty(value = "模型编号")
    private Long modelId;

    /**
     * 模型标识
     */
    @ExcelProperty(value = "模型标识")
    private String model;

    /**
     * 是否置顶
     */
    @ExcelProperty(value = "是否置顶")
    private Integer pinned;

    /**
     * 置顶时间
     */
    @ExcelProperty(value = "置顶时间")
    private Date pinnedTime;

    /**
     * 角色设定
     */
    @ExcelProperty(value = "角色设定")
    private String systemMessage;

    /**
     * 温度参数
     */
    @ExcelProperty(value = "温度参数")
    private Long temperature;

    /**
     * 单条回复的最大 Token 数量
     */
    @ExcelProperty(value = "单条回复的最大 Token 数量")
    private Long maxTokens;

    /**
     * 上下文的最大 Message 数量
     */
    @ExcelProperty(value = "上下文的最大 Message 数量")
    private Long maxContexts;


    /**
     * 是否删除
     */
    @ExcelProperty(value = "是否删除")
    private Integer deleted;


}
